package com.shujia.wyh.day22.homework;

/*
        2.由控制台按照固定格式输入学生信息，包括学号，姓名，年龄信息，当输入的内容为exit退出；
        将输入的学生信息分别封装到一个Student对象中，再将每个Student对象加入到一个集合中，要求集合中的元素按照年龄大小正序排序；
        最后遍历集合，将集合中学生信息写入到记事本，每个学生数据占单独一行。
        推荐步骤：
            a)创建Student类，并指定按照年龄正序排列
            b)通过控制台输入多个不同Student信息。格式规定为：编号#姓名#年龄
            c)取出字符串中相应信息放入Student对象，并将Student加入到集合中
            d)遍历集合的过程中将学生的信息输入到记事本
 */

import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
import java.util.TreeSet;

public class Test5 {
    public static void main(String[] args) throws IOException {
        //创建键盘录入对象
        Scanner sc = new Scanner(System.in);
        //创建一个TreeSet集合对象
        TreeSet<Student2> set = new TreeSet<>();

        while (true) {
            System.out.println("请输入学生信息：");
            String info = sc.next();
            if ("exit".equals(info)) {
                break;
            } else {
                String[] strings = info.split("#");
                String id = strings[0];
                String name = strings[1];
                int age = Integer.parseInt(strings[2]);
                //封装成学生对象
                Student2 student2 = new Student2(id, name, age);
                set.add(student2);
            }
        }

        //遍历集合的过程中将学生的信息输入到记事本
        FileWriter fw = new FileWriter("student.txt");

        //遍历集合获取每个学生信息
        for (Student2 student2 : set) {
            String id = student2.getId();
            String name = student2.getName();
            int age = student2.getAge();
            String result = id + "," + name + "," + age;
            fw.write(result);
            fw.flush();
        }
        System.out.println("信息写入文件完毕！");

        fw.close();


    }
}
